import {getRequest} from "@/utils/api";
import format from "element-ui/src/locale/format";

export const initMenu=(router,store)=>{
    //判断是否为正常跳转，若是直接返回
    if(store.state.routes.length > 0){
        return;
    }
    getRequest("/system/config/menu").then(data=>{
        if(data){
            let fmtRoutes = formatRoutes(data);
            router.addRoutes(fmtRoutes);
            store.commit('initRoutes',fmtRoutes)
        }
    })
}
export const formatRoutes=(routes)=>{
    let fmRoutes = [];
    routes.forEach(router=>{
        let{
            path,
            component,
            name,
            meta,
            iconCls,
            children
        }=router;
        //递归处理children属性
        if(children && children instanceof Array){
            children=formatRoutes(children);
        }
        let fmRouter={
            path:path,
            name:name,
            iconCls:iconCls,
            meta:meta,
            children:children,
            component(resolve){
                if(component.startsWith("Home"))
                {require(['../views/'+component+'.vue'],resolve);}
                else if(component.startsWith("Emp"))
                {require(['../views/emp/'+component+'.vue'],resolve);}
                else if(component.startsWith("Per"))
                {require(['../views/per/'+component+'.vue'],resolve);}
                else if(component.startsWith("Sal"))
                {require(['../views/sal/'+component+'.vue'],resolve);}
                else if(component.startsWith("Sta"))
                {require(['../views/sta/'+component+'.vue'],resolve);}
                else if(component.startsWith("Sys"))
                {require(['../views/sys/'+component+'.vue'],resolve);}
            }
        }
        fmRoutes.push(fmRouter);
    })
    return fmRoutes;
}